나는 다음과 같이 사용자의 umask 값을 변경하기 위해 chfn을 시도했습니다.
sudo chfn -o umask=022 username
하지만 나한테는 이런 오류가 있어
chfn: Office: '=' is not allowed
또한 아래와 같이 = 기호를 이스케이프하려는 시도가 실패했습니다.
sudo chfn -o umask\=022 username
sudo chfn -o "umask=022 username"
이 명령을 사용하여 등호를 어떻게 사용하거나 이스케이프할 수 있습니까?
감사해요
답변1
chfn
/etc/passwd
네 번째 필드(또는 이에 상응하는 항목)의 정보를 변경합니다. 대부분의 데이터는 표시 목적으로만 사용되며 "사용자 이름 또는 댓글 필드"라고도 합니다.passwd(5)
매뉴얼 페이지.
데비안매뉴얼 페이지chfn(1)
하지만 그 중 일부는 '회계정보'용이라고 언급돼 있다. 확실히pam_umask.so
또한 그것을 읽고 이것이 당신이 원하는 것이라고 생각합니다. 매뉴얼 페이지에는 등호를 허용하지 않는다는 내용도 언급되어 있습니다.
이러한 필드에는 콜론이 포함되어서는 안 됩니다. 와는 별개로다른필드에는 쉼표나 등호가 포함되어서는 안 됩니다.
-o, --other OTHER
사용자의 기타 GECOS 정보를 변경합니다. 이 필드는 다른 응용 프로그램에서 사용하는 계정 정보를 저장하는 데 사용되며 수퍼유저만 변경할 수 있습니다.
chfn
귀하의 CentOS는 다른 구문을 따르며 "기타" 부분을 변경하는 방법을 제공하지 않는 것 같습니다 . 데비안에서 테스트한 결과 chfn -o 'umask=022' username
는 다음과 같습니다.
username:x:1000:1000:Full name,,,,umask=022:/home/username:/bin/bash
따라서 누락된 기능에 대한 해결 방법은 파일을 수동으로 편집(사용)하고 chfn
설명 필드의 네 번째 쉼표 뒤에 vipw
추가하는 것입니다 .umask=022
답변2
이 매뉴얼 페이지를 살펴보십시오.https://www.systutorials.com/docs/linux/man/1-chfn/
옵션 -o
은 사무실 번호를 설정하는 것이므로 =
유효한 번호가 아니기 때문에 잘못된 것 같습니다.
흥미롭게도 우분투 16.04에서 이 옵션 은 사무실 번호를 설정하는 것이 아니라 -o
settings 의 GECOS 필드에 대한 것입니다 ./etc/passwd
답변3
bashrc를 수정하여 동일한 효과를 얻었습니다.
vi ~/.bashrc
...
# User specific aliases and functions
umask 022
감사해요